package com.cskaoyan.javase.basic._8loop;

import java.util.Scanner;

/**
 * Java的循环结构
 * 主要包括,for,while和do...while三种实现
 * 其中:
 *      for循环和while都是先做判断,然后决定是否进行循环
 *      这就意味着for循环和while完全可能一次循环都不执行
 *      而do...while会不管三七二十一,先循环一次,再判断是否继续循环
 *
 *      while和for是完全等价的,do...while会先循环一次
 *
 *
 * @since 10:51
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个int正整数:");
        int n = sc.nextInt();
        // 需求1: 求前n个数的和 = n + (n-1) + (n-2) + ...+ 1;
        // 累加求和,需要先在循环外部定义一个结果值,用于累加
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        System.out.println("前n个数的累和是:" + sum);
        // 需求2: 求前n个数的累乘
        // for循环的快捷键 fori
        int product = 1;
        int i = 1;
        while (i <= n) {
            product *= i;
            i++;
        }
        System.out.println("前n个数的累积是:" + product);
    }
}
